package org.jeecg.modules.oms.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 设计任务表
 */
@Data
@TableName("oms_design_task")
public class DesignTask implements Serializable {
    private static final long serialVersionUID = 1L;
    
    /** 任务ID */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;
    
    /** 任务编号 */
    private String taskNo;
    
    /** 订单ID */
    private String orderId;
    
    /** 订单编号 */
    private String orderNo;
    
    /** 租户ID */
    private Integer tenantId;
    
    /** 任务名称 */
    private String taskName;
    
    /** 任务类型 1-设计 2-优化 3-审核 */
    @Dict(dicCode = "design_task_type")
    private Integer taskType;
    
    /** 优先级 0-普通 1-紧急 2-特急 */
    @Dict(dicCode = "design_task_priority")
    private Integer priority;
    
    /** 任务状态 0-待处理 1-处理中 2-已完成 3-已取消 */
    @Dict(dicCode = "design_task_status")
    private Integer status;
    
    /** 分配人ID */
    private String assignPersonId;
    
    /** 分配人姓名 */
    private String assignPersonName;
    
    /** 分配时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date assignTime;
    
    /** 处理人ID */
    private String handlePersonId;
    
    /** 处理人姓名 */
    private String handlePersonName;
    
    /** 处理时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date handleTime;
    
    /** 完成时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;
    
    /** 备注 */
    private String remark;
    
    /** 创建人 */
    private String createBy;
    
    /** 创建时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    
    /** 更新人 */
    private String updateBy;
    
    /** 更新时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
} 